package com.turing.post.transaction.util;

import java.util.Date;
import java.util.List;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.report.util.MerchantBusinessDaySettlement;
import com.turing.post.util.PCPSApplicationException;

@Remote
@Local
public interface MchBsTypeTradDetailDao {
	/**
	 * 插入
	 * 
	 * @param mbttd
	 * @throws PCPSApplicationException
	 */
	public void insert(MchBsTypeTradDetail mbttd)
			throws PCPSApplicationException;
	
	/**
	 * 根据日期获取有交易的商户并且与所有激活的商户合并后去掉重复的。
	 * 
	 * @param issueCompanyNo
	 *            发卡商号
	 * @param tranDate
	 *            帐务日期
	 * @return
	 */
	
	public List<String> getAllMerchantBusinessMerchantNo(String issueCompanyNo,Date tranDate);

	/**
	 * 根据商户号、日期、流水号查询
	 * 
	 * @param merchantNo
	 * @param tranDate
	 * @param tranSeqNo
	 * @return
	 */
	public List<MchBsTypeTradDetail> getAllMchBsTypeTradDetailByTran(
			String merchantNo, Date tranDate, String tranSeqNo);

	/**
	 * 根据发卡商号、某日、商户号按商户号及业务类型汇总消费交易日结数据
	 * 
	 * @param issueCompanyNo
	 *            发卡商号
	 * @param merchantNo
	 *            商户号(可选)
	 * @param tranDate
	 *            帐务日期
	 * @return
	 */
	public List<MerchantBusinessDaySettlement> getAllMerchantBusinessDaySettlementByMerchantNo(
			String issueCompanyNo, String merchantNo, Date tranDate);
}
